package accion;

import static org.junit.Assert.*;

import java.util.ArrayList;

import org.junit.Before;
import org.junit.Test;

import bean.AreaComun;
import bean.Residente;

public class AreaComunAccionTest {
	
	AreaComunAccion areacomunAccion = new AreaComunAccion();
	
	private ArrayList<AreaComun> listaAreaComun = new ArrayList<AreaComun>();
	
	@Before
	public void cargarListaAreaComun() {
		areacomunAccion.inicializarTablaAreaComun();
	}

	@Test
	public void ingresarAreaComun (){
		
		int resultado = 0;
		
		AreaComun areacomun0 = new AreaComun ("001","PISCINA","BLOQUE C", 500, "DISPONIBLE","SOLO PROPIETARIOS" );
		assertNotNull(areacomunAccion.ingresarAreaComun(areacomun0));
		
		AreaComun areacomun1 = new AreaComun ("002","GIMNASIO","BLOQUE A", 35, "NO DISPONIBLE","SOLO PROPIETARIOS" );
		assertNotNull(areacomunAccion.ingresarAreaComun(areacomun1));
		
		AreaComun areacomun2 = new AreaComun ("003","SALA","TERCER PISO", 25, "RESERVADA","ACCESO TOTAL" );
		assertNotNull(areacomunAccion.ingresarAreaComun(areacomun2));
		
		AreaComun areacomun3 = new AreaComun ("004","PARRILLA","TERRAZA BLOQUE A", 150, "DISPONIBLE","ACCESO TOTAL" );
		assertNotNull(areacomunAccion.ingresarAreaComun(areacomun3));
		
		AreaComun areacomun4 = new AreaComun ("005","SAUNA","SOTANO BLOQUE C", 15, "EN MANTENIMIENTO","SOLO PROPIETARIOS" );
		assertNotNull(areacomunAccion.ingresarAreaComun(areacomun4));
	}
	
	@Test
	public void listarAreasComunesGeneral() {
		
		assertNotNull(areacomunAccion.listarAreasComunesGeneral().size());
		System.out.println(" ");
	}
	@Test
	public void listarAreasComunesDisponibles() {
		
		assertNotNull(areacomunAccion.listarAreasComunes().size());
		System.out.println(" ");
	}
	
	@Test
	public void modificarAreaComun() {
		int actualizacion = 1;
		AreaComun parametro = new AreaComun("001", "", "", -1, "", "");
		AreaComun areaComunObtenido = areacomunAccion.obtenerAreaComun(parametro);
		System.out.println(" ");
		System.out.println("##### Area Comun antes de la Modificacion #####");
		System.out.println("Ubicacion "+areaComunObtenido.getUbicacion()+" capacidad actual: "+areaComunObtenido.getCapacidadPersonas());
		System.out.println(" ");
		System.out.println("##### Area Comun despues de la Modificacion #####");
		areaComunObtenido.setUbicacion("SOTANO 2 NIVEL");
		areaComunObtenido.setCapacidadPersonas(1500);
		System.out.println("Ubicacion "+areaComunObtenido.getUbicacion()+" capacidad actual: "+areaComunObtenido.getCapacidadPersonas());
		assertEquals(actualizacion, areacomunAccion.actualizarAreaComun(areaComunObtenido));
	}
				
	@Test
	public void obtenerAreaComun() {
		
		AreaComun areacomun = new AreaComun("001","PISCINA","BLOQUE C", 500, "DISPONIBLE","SOLO PROPIETARIOS" );		
		assertNotNull(areacomunAccion.obtenerAreaComun(areacomun));
	}		
}
